在列表组件之间设置固定边距

问题描述

我在我的代码中使用了 Material UI 列表组件。

这是代码片段:

void _reorderData(BuildContext ctx,order) async {
    var data;
    var url = 'serverAddress/${order['facts']}';
   
    await http.get(url).then((value) {
      data = jsonDecode(value.body);
      data[0]['CORPORATION'] = order['corporation'];

      showModalBottomSheet(
          context: ctx,builder: (_) {
            return ReorderModal(data);
          });
    }).catchError((onError) {});
  }

class ReorderModal extends StatelessWidget {
  final List data;
  ReorderModal(this.data);
  
  void orderSend(orderInfo) async {        
    var url = 'serverAddress';

    await http.post(url,body: orderInfo[0]).then((value) {

      print(jsonDecode(value.body));

    }).catchError((onError) {
      
      print(onError);
    });
  }

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.all(10),child: Column(children: <Widget>[
        Row(
          children: <Widget>[
            Expanded(
                child: Column(
              children: [                        
        ElevatedButton(
            onpressed: () {
              orderSend(data);
              //print(data);
            },child: Text('ONE Click'))
      ]),);
  }
}

结果截图如下:

enter image description here

如何设置“Hello”和“John”之间的固定距离?

并避免以下情况:

enter image description here

解决方法

// just add minWidth in button 

     <List>
        <ListItem button>
          <ListItemText
            style={{minWidth:"50px" }}
            disableTypography
            primary={<Typography>Hello</Typography>}
          />
          <p>John</p>
          <DraftsIcon />
        </ListItem>
      </List>

你也可以这样做:

import React from 'react';
import Box from '@material-ui/core/Box';
import { IconButton,Typography } from '@material-ui/core';
import DraftsIcon from "@material-ui/icons/Drafts";

export default function FlexGrow() {
  return (
      <Box display="flex" p={1} >
        <Box p={1} flexGrow={1} >
        <Typography variant="button" display="block" gutterBottom>
          Hello
        </Typography>
        </Box>
        <Box p={1} >
        <Typography variant="button" display="block" gutterBottom>
          John
        </Typography>
        </Box>
      <IconButton color="inherit" style={{marginTop :"-10px"}}>
        <DraftsIcon/>
        </IconButton>
      </Box>
  );
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...