ReactJS - 在为新行输入数据时,如何将单元格文本包装在 MaterialTable 中?

Posted

技术标签:

【中文标题】ReactJS - 在为新行输入数据时,如何将单元格文本包装在 MaterialTable 中?【英文标题】:ReactJS - How could I wrap the cell text in MaterialTable when typing in data for a new row? 【发布时间】:2020-05-09 05:01:30 【问题描述】:

问题:在 MaterialTable 中输入异常长的名称时是否可以换行?

我在使用材料表时遇到的一个问题是,当输入一个很长的名称时,例如“LONG NAME LONG NAME LONG NAME LONG NAME”,该行继续,并且前面的单词“消失”。

有没有办法让文本换行,所以当我输入一个很长的名字时,文本字段会不断扩展?

代码:https://codesandbox.io/s/material-demo-vnk66

当前问题:

我想尝试做什么,文本在框中的位置。

我尝试做的是在 MaterialTable 声明中的内联样式,然后在我拥有的外部元素中,但这不起作用:

style = 
    whiteSpace: "normal", 
    wordWrap: "break-word",

【问题讨论】:

【参考方案1】:

您可以自定义组件,以使它们在可编辑的材料表中完全符合您的要求。例如,如果你想有一个多行 TextField 你可以这样做:

columns: [
  
    title: "Name",
    field: "name",
    editComponent: ( value, onChange ) => (   
      <TextField
        onChange=e => onChange(e.target.value)
        value=value
        multiline
      />
    )
  ,
  ...
] 

演示:https://codesandbox.io/s/material-demo-8ysj5

【讨论】:

以上是关于ReactJS - 在为新行输入数据时,如何将单元格文本包装在 MaterialTable 中?的主要内容,如果未能解决你的问题,请参考以下文章

在uwp中向数据网格添加新行时如何自动开始编辑?

如何在为 p 标签创建新行之前添加字符限制 [重复]

在为另一个乐队创建新行后设置选择的超网格行?

每次出现新行时如何更新所有可见的 UITableViewCell

将熊猫数据框单元格中的字典解析为新行单元格(新列)

如何将事件侦听器添加到 ag 网格单元格内的元素(使用 js 或 jquery,不是 angular,不是 reactjs,不是 vue)