mcpField
F
fineui-datalist

fineui-datalist

github.com/sanshi开发544 次安装1 天前更新
代码仓库

关于 fineui-datalist

面向 FineUI 开发者的数据列表技能,用于呈现纵向列表、图文项及移动端卡片布局。涵盖静态项、服务端数据、选择、分组、导航和加载更多,并说明它与 Grid 的适用区别。

主要功能

  1. 01创建静态列表项
  2. 02绑定服务端数据
  3. 03配置单选与多选
  4. 04支持分组和导航项
  5. 05追加数据实现加载更多

适用场景

  1. 01构建移动端纵向列表
  2. 02呈现卡片式图文内容
  3. 03实现列表项选择
  4. 04分批追加列表数据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sanshi/fineui-skills --skill fineui-datalist

安装后在 Claude Code 中输入/fineui-datalist确认已加载。

附带文件references/items-data.mdreferences/selection-navigation.md

详细介绍

来自项目 README

FineUI DataList 数据列表技能

何时使用(When to Use)

  • 显示适合移动端或卡片布局的纵向数据列表
  • 用静态 DataListItem 或服务端数据生成列表项
  • 实现单选、多选、分组、导航或“加载更多”
  • 读取当前选中值,或让多选列表在普通点击时继续累积选择

DataList 与 Grid 都显示集合数据,但用途不同:需要列、排序、分页、编辑或表头时用 Grid;需要简洁的纵向图文项、移动端导航或卡片式列表时用 DataList。

开始前(Before You Start)

  1. 先从项目结构判断写法:F.js / Pro / Core-MVC / Core-RazorForms / Core-RazorPages / FineUI.Java,不混用属性名称。
  2. 明确列表项是普通文本还是可信 HTML。普通文本默认编码;图文模板只有在内容经过编码或来自可信常量时才能使用 RawHtml。
  3. 需要选择时同时设置 EnableSelect;多选再设置 EnableMultiSelect,并为每项提供稳定的 Value。

各写法速览(静态列表)

// F.js
F.create({
    type: 'DataList', id: 'DataList1', renderTo: '#wrap',
    fields: ['text', 'value'],
    data: [['中国', 'cn'], ['美国', 'us']]
});
<%-- FineUI.Pro --%>
<f:DataList ID="DataList1" runat="server">
    <f:DataListItem Text="中国" Value="cn" />
    <f:DataListItem Text="美国" Value="us" />
</f:DataList>
// FineUI.Core MVC
@(F.DataList().ID("DataList1").Items(
    F.DataListItem().Text("中国").Value("cn"),
    F.DataListItem().Text("美国").Value("us")))
<!-- FineUI.Core RazorForms / RazorPages -->
<f:DataList ID="DataList1">
    <f:DataListItem Text="中国" Value="cn" />
    <f:DataListItem Text="美国" Value="us" />
</f:DataList>
<!-- FineUI.Java -->
<f:data-list id="DataList1">
    <f:data-list-item text="中国" value="cn"></f:data-list-item>
    <f:data-list-item text="美国" value="us"></f:data-list-item>
</f:data-list>

参考文档(Documentation Reference Files)

文件何时读
references/items-data.md静态项、服务端绑定、普通文本与 RawHtml 图文项、加载更多
references/selection-navigation.md单选/多选、读取选中值、普通点击累积选择、分组与导航项

相关技能(Related Skills)

  • fineui-foundation:技术栈判断、页面骨架、RawHtml 安全模型
  • fineui-panel:移动页面常用的 ViewPort 面板与顶部工具栏
  • fineui-grid:需要表头、列、排序、分页和编辑的数据展示

约束与规则(Constraints & Rules)

  1. 属性名随写法变化:F.js 用 selectable / multiSelect / selectedItems;C# 用 EnableSelect / EnableMultiSelect / SelectedValueArray;Java 标签用 enable-select / enable-multi-select / selected-value-array。
  2. 选择必须有稳定 Value:可选项设置 Value;服务端数据绑定设置 DataValueField。不要用显示文本充当业务标识。
  3. 普通文本默认编码:声明项使用 Text;图文 HTML 使用 TextRawHtml / _TextRawHtml / RawHtml,其中的动态数据必须先编码。
  4. 重新绑定与追加不同:替换整表时清空并重新绑定;“加载更多”使用 AppendData / appendData,不要每次重建已有列表。
  5. DataList 不是 Grid:不要生成 Columns、分页器、单元格编辑或 Grid 的选择 API。
  6. 只使用公开控件与 API:不从源码类名猜测用户控件;把握不准时核对三栈源码和官方示例。
  7. KeepCurrentSelection 只影响点击选择:多选时开启它,普通点击会在现有选择上切换当前项,无需按 Ctrl;它不负责在重新绑定数据后恢复选择。

官方资源(Official Resources)

评论

支持 Markdown