当前位置: 首页 > news >正文

ssr网站开发哈尔滨建站模板厂家

ssr网站开发,哈尔滨建站模板厂家,官网小程序,wordpress安装教程视频教程列表编辑 1、新增列表项 定义列表项数据结构和初始化列表数据,构建列表整体布局和列表项。 提供新增列表项入口,即给新增按钮添加点击事件。 响应用户确定新增事件,更新列表数据。 2、删除列表项 列表的删除功能一般进入编辑模式后才可…

列表编辑

1、新增列表项

定义列表项数据结构和初始化列表数据,构建列表整体布局和列表项。

提供新增列表项入口,即给新增按钮添加点击事件。

响应用户确定新增事件,更新列表数据。

2、删除列表项

列表的删除功能一般进入编辑模式后才可使用,所以需要提供编辑模式的入口。

需要响应用户的选择交互,记录要删除的列表项数据。

需要响应用户点击删除按钮事件,删除列表中对应的选项。

3、参考代码:

在这里插入图片描述

ToDo.ets

import util from "@ohos.util"
export class ToDo {
//注意,key有时候无效,foreach遍历时,可以name做区分,如上图红线key: string = util.generateRandomUUID(true)name: string;constructor(name: string) {this.name = name;}
}

ToDoListItem.ets

import { ToDo } from './ToDo';@Component
export struct ToDoListItem {@Link isEditMode: boolean@Link selectedItems: ToDo[]private toDoItem: ToDo;hasBeenSelected(): boolean {return this.selectedItems.indexOf(this.toDoItem) != -1}build() {Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) {Row({ space: 4 }) {Circle().width(24).height(24).fill(Color.White).borderWidth(3).borderRadius(30).borderColor('#ffdcdfdf').margin({ right: 10 })Text(`${this.toDoItem.name}`).maxLines(1).fontSize(24).textOverflow({ overflow: TextOverflow.Ellipsis })}.padding({ left: 12 })if (this.isEditMode) {Checkbox().select(this.hasBeenSelected() ? true : false).onChange((isSelected) => {if (isSelected) {this.selectedItems.push(this.toDoItem)} else {let index = this.selectedItems.indexOf(this.toDoItem)if (index != -1) {this.selectedItems.splice(index, 1)}}}).width(24).height(24)}}.width('100%').height(80).padding({left: 16,right: 12,top: 4,bottom: 4}).borderRadius(24).linearGradient({direction: GradientDirection.Right,colors: this.hasBeenSelected() ? [[0xffcdae, 0.0], [0xFfece2, 1.0]] : [[0xffffff, 0.0], [0xffffff, 1.0]]}).gesture(GestureGroup(GestureMode.Exclusive,LongPressGesture().onAction(() => {if (!this.isEditMode) {this.isEditMode = truethis.selectedItems.push(this.toDoItem)}})))}
}

主测试代码:

import { ToDo } from './ToDo';
import { ToDoListItem } from './ToDoListItem';@Entry
@Component
struct Test03 {@State toDoData: ToDo[] = []@Watch('onEditModeChange') @State isEditMode: boolean = false@State selectedItems: ToDo[] = []private availableThings: string[] = ["学习", "打游戏", "刷抖音", '听音乐', '看电影', '追剧']saveData(value: string) {this.toDoData.push(new ToDo(value))}onEditModeChange() {if (!this.isEditMode) {this.selectedItems = []}}build() {Column() {Row() {if (this.isEditMode) {Text('X').fontSize(20).onClick(() => {this.isEditMode = false;}).margin({ left: 20, right: 20 })Text('已选择' + this.selectedItems.length + '项').fontSize(24)} else {Text('爱好').fontSize(36).margin({ left: 40})Blank()Text('+').fontWeight(FontWeight.Lighter).fontSize(40).margin({ right: 30 }).onClick(() => {TextPickerDialog.show({range: this.availableThings,onAccept: (value: TextPickerResult) => {this.toDoData.push(new ToDo(this.availableThings[value.index]))console.info('to do data: ' + JSON.stringify(this.toDoData))},})})}}.height('12%').width('100%')List({ initialIndex: 0, space: 10 }) {ForEach(this.toDoData, toDoItem => {ListItem() {ToDoListItem({isEditMode: $isEditMode,toDoItem: toDoItem,selectedItems: $selectedItems})}.padding({ left: 24, right: 24, bottom: 12 })}, toDoItem => toDoItem.name)}.height('73%').listDirection(Axis.Vertical).edgeEffect(EdgeEffect.Spring)if (this.isEditMode) {Row() {Button('删除').width('80%').onClick(() => {let leftData = this.toDoData.filter((item) => {return this.selectedItems.find((selectedItem) => selectedItem != item)})console.log('leftData: ' + leftData);this.isEditMode = false;this.toDoData = leftData;}).backgroundColor('#ffd75d5d')}.height('15%')}}.backgroundColor('#fff1f3f5').width('100%').height('100%')}
}

请添加图片描述

http://www.yayakq.cn/news/876478/

相关文章:

  • 网站主关键词如何优化网站建设分金手指排名十二
  • 坪山网站建设行业现状本地的天津网站建设
  • 有网站模板怎么做网站建筑网官网登录入口
  • 致设计网站官网网站服务器干啥
  • 婚介网站建设外贸网站 设计
  • 网站上的弹框如何做网页网页布局照着别的网站做会侵权吗
  • 网站浏览图片怎么做的优设计网站建设
  • 青海网站建设企业一个空间可以建多个网站
  • 网页设计电商网站求网站
  • 菲律宾网站网站建设南通电子商务网站建设
  • 北京高端网站建设公司浩森宇特网站建设的作用
  • 企业做外贸网站常用术语扬州个人做网站
  • 在哪个网站做旅游攻略好网页设计公司深圳
  • 凡科网站建设步骤有没有做海报的网站推荐
  • 网页设计公司有什么部门外贸网站seo优化方案
  • 网站建设项目合同设计的好网站
  • 做外贸主要是哪些网站258做网站怎么样
  • 服装网站html模板兰州起点网站建设
  • 设计网站的结构时下面哪个方法不好罗湖做网站的公司哪家好
  • ftp怎么上传文件到网站wordpress新建会员主页
  • 重庆做网站建设公司高端网站开发哪家强
  • 做网站建设推荐aspsql server典型网站建设案例 源码
  • 龙岗网站建设公司效果中文商城响应式html网站模板
  • 很多网站开发没有框架如何制作的wordpress ping百度
  • 网站建设服务器什么意思怎么免费建设自己网站
  • 专业做酒店网站智联招聘网站怎么做微招聘
  • 手机与pc的网站开发学校网站建设工作计划
  • 做视频网站要多少钱h5 php mysql网站开发
  • 什么网站可以看到绵阳建设跨境电商公司排名
  • c 网站开发部署品牌型网站建设公司