标签: office-ui-fabric-react

FluentUI DetailsList onColumnClick 与 React Hooks 给出空项目

我正在尝试创建一个带有可排序列的DetailsList(类似于此处文档中的示例: https: //uifabric.azurewebsites.net/#/controls/web/detailslist),但我想使用而不是类组件功能组件和钩子。

问题在于,当执行 onColumnClick 函数时,“items”数组仍然为空。

这基本上是我的组件的设置:

const MyList= () => {
  const [items, setItems] = useState([]);
  const [columns, setColumns] = useState([]);

  useEffect(() => {
    const newItems = someFetchFunction()
    setItems(newItems);

    const newColumns= [
      {
        key: "column1",
        name: "Name",
        fieldName: "name",
        onColumnClick: handleColumnClick,
      },
      {
        key: "column2",
        name: "Age",
        fieldName: "age",
        onColumnClick: handleColumnClick,
      },
    ];
    setColumns(newColumns);
  }, []);

  const handleColumnClick = (ev, column) => {
    console.log(items); // This returns [] instead of a populated array.
  };

  return <DetailsList items={items} columns={columns} …
Run Code Online (Sandbox Code Playgroud)

react-component react-functional-component office-ui-fabric-react fluent-ui

8
推荐指数
1
解决办法
3037
查看次数

office-ui-fabric / Fluent-ui 分组详细信息列表

今天我尝试使用Fluent-ui 的分组详细信息列表。

我的期望:我需要声明一些组,比如说红色、蓝色、绿色,然后添加到每个项目,我想添加到列表中,这是一个将项目映射到组的特定属性。例如:

groups: [
            { key: 'red', name: 'Color: "red"'},
            { key: 'green', name: 'Color: "green"'},
            { key: 'blue', name: 'Color: "blue"' },
          ],

items: [...,
        { key: 'red',anyProp1: "abc", anyProp2: "dfg",...},
       ...,
      ]
Run Code Online (Sandbox Code Playgroud)

我发现我必须做的事情:我需要对包含我的项目的数组进行排序,属于红色组的所有项目都需要位于一个块中。例如:[红,红,红,蓝,蓝,绿,绿,绿]。现在我需要提供有关 startIndex 和 count 的信息,以将我的项目数组映射到组。

组的定义可能如下所示:

 groups: [
        { key: 'groupred0', name: 'Color: "red"', startIndex: 0, count: 2, level: 0 },
        { key: 'groupgreen2', name: 'Color: "green"', startIndex: 2, count: 0, level: 0 },
        { key: 'groupblue2', name: 'Color: "blue"', startIndex: 2, …
Run Code Online (Sandbox Code Playgroud)

javascript office-ui-fabric office-ui-fabric-react fluent-ui

6
推荐指数
1
解决办法
3863
查看次数

有没有办法在 Fluent UI 中使 DetailsList 标题文本换行?

我有一种情况,我想在FluentUI DetailsList中显示数据,其中列名可能很长,而列内容可能很窄。在这种情况下,标头将被截断。 请参阅此代码笔

有什么方法可以改变这种行为,使标题文本换行多行?

虽然我在 2 年前就发现了这个悬而未决的问题,但我在 Stackoverflow、Github 或官方文档上都找不到该主题的答案。以下是我尝试过的一些方法:

  • word-break: break-all;通过headerClassName以下字段注入 CSS 类IColumn
  • isMultiLine列上的设置
  • DetailsHeader我可以覆盖其渲染的组件本身似乎onRenderDetailsHeader没有提供任何用于自定义文本显示方式的道具

是否有一种方法可以实现所需的行为(换行多行而不是截断长列标题)?

office-ui-fabric office-ui-fabric-react fluent-ui fluentui-react

5
推荐指数
1
解决办法
7491
查看次数

如何在 office-ui-fabric-react 中的下拉组件上获取选定的值?

我正在尝试office-ui-fabric-react与我的项目一起使用。但是我在控制选择输入时卡住了。我想在 OnChange 事件上获取所选项目的值。但是没有valueevent.target。这似乎div只有textContent. 我必须使用ref吗?但是当我使用时我并不高兴,ref因为我相信它不是反应方式。

库:https : //developer.microsoft.com/en-us/fabric#/controls/web/dropdown

  <Dropdown
      label={'Dropdown'}
      onChange={e => {
          // Not working.
          console.log(e.target.value)
      }}
      options={[
          { text: 'A', key: 'keyA'}, 
          { text: 'B', key: 'keyB'}
      ]}
   />
Run Code Online (Sandbox Code Playgroud)
  1. 有没有不使用 ref 的解决方案?

  2. 如果我必须使用 ref 我应该怎么做?

reactjs office-ui-fabric office-ui-fabric-react

3
推荐指数
1
解决办法
5602
查看次数

如何在 Fluent UI React 中使用网格布局

安装@fluentui/react 后,我​​尝试使用像这个文档https://developer.microsoft.com/en-us/fluentui#/styles/web/layout这样的网格

ReactDOM.render(
  <React.StrictMode>
      <div className="ms-Grid" dir="ltr">
          <div className="ms-Grid-row">
              <div className="ms-Grid-col ms-sm4 ms-xl4">A</div>
              <div className="ms-Grid-col ms-sm8 ms-xl8">B</div>
          </div>
      </div>
  </React.StrictMode>,
  document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)

但它不起作用,其他控制组件工作正常。我错过了什么?

他们的文档只提到了 npm 包。

reactjs office-ui-fabric-react fluent-ui

3
推荐指数
2
解决办法
6841
查看次数

Office UI Fabric React 中的表实现?

我正在office-ui-fabric-react中寻找一个Table组件,我可以在自定义 WebPart中使用它来显示来自 API 的一些数据,并且如果用户愿意,可以轻松将其导出到 Excel 工作表。

我在这里没有看到任何表格实现,这对我来说很奇怪,因为根据我的理解,Office UI Fabric 有点像“像在 Microsoft Office 中编辑一样编辑您的网站”,并且 Microsoft Office 有一个表格:

https://developer.microsoft.com/en-us/fabric#/controls/web

我发现了这个例子,它使用简单的 HTML 元素来创建一个表格,但是经过一段时间的研究后,Fabric JS 与 Fabric React 并不相同,我们使用的是后者:

https://developer.microsoft.com/en-us/fabric-js/components/table/table

经过更多挖掘后,我实际上在 office-ui-fabric-react 中找到了这个表:

https://github.com/OfficeDev/office-ui-fabric-react/blob/master/apps/fabric-website/src/components/Table/Table.tsx

但是我无法像这样导入它:

import { Table } from "office-ui-fabric-react"

经过进一步挖掘,我在同一个 Github 存储库中找到了这个示例站点:

https://github.com/OfficeDev/office-ui-fabric-react/blob/master/apps/fabric-website/src/pages/Styles/TypographyPage/TypographyPage.tsx

它使用表,并像这样导入它:

import { Table } from '@uifabric/example-app-base/lib/index2';

然后我就可以安装这个 npm 包并使用其中的 Table:

https://www.npmjs.com/package/@uifabric/example-app-base

然而,其中有一个免责声明:“这些组件主要用于在 office-ui-fabric-react 存储库中使用。因此,API 可能不稳定。”

所以我不确定这是否是解决此问题的最佳方法,而且我也没有看到任何 Excel 导出功能。

  1. 有没有一个组件可以满足我的需要?
  2. 我是否必须从头开始编写自己的代码,或者从我在 Github 上找到的表代码开始编写?

sharepoint office-ui-fabric spfx office-ui-fabric-react

2
推荐指数
1
解决办法
6915
查看次数

Fluent UI 反应 Dropdown 和 DatePicker 中缺失的图标

我正在创建一个使用 Microsoft Fluent-ui lib 的电子应用程序。@fluentui/react": "^7.107.1我已添加对 package.json 文件的引用。当我创建一个像这样的下拉菜单时

<Dropdown label='Time zone' onChange={(e, option) => this.updateTimeZone(..)} />

带有下拉图标的插入符号丢失。

下拉菜单中缺少图标

与文档中的示例相比,检查元素时,i 标签似乎是空的,并且没有在 css 类中应用正确的字体。

下拉元件检查

有人能看到我做错了什么吗?

office-ui-fabric-react

2
推荐指数
1
解决办法
3902
查看次数

使用 React 发送消息时聊天滚动到底部

当我发送文本时,我希望聊天窗口向下滚动。

实际上发送的消息不会触发滚动,因此它们是隐藏的。

这是一个示例(我使用的是MS Fluent UI for React 库的聊天组件 )

我找到了这篇文章,但我无法整合它(不知道在哪里声明了 endMessage )在我的情况下它的价值是undefined.

import React from "react";
import { Avatar, Chat, Divider, Input } from "@fluentui/react-northstar";
import { AcceptIcon } from "@fluentui/react-icons-northstar";

const janeAvatar = {
  image: "public/images/avatar/small/ade.jpg",
  status: {
    color: "green",
    icon: <AcceptIcon />
  }
};

const ChatExample = () => {
  const items = [
    {
      message: (
        <Chat.Message
          content="Hello"
          author="John Doe"
          timestamp="Yesterday, 10:15 PM"
          mine
        />
      ),
      contentPosition: "end",
      attached: …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs office-ui-fabric office-ui-fabric-react

0
推荐指数
1
解决办法
2203
查看次数